package workspace.day161013;

import java.util.Scanner;

import org.junit.Test;

/**
 * 面试的重点：
 * continue 和break的区别以及各自的用法
 *  continue :继续，引申 中止本次循环，但是继续后面的循环。
 *                 1+2+3+4+5+6+7+8+9+.....+100
 *                  如果能被11整除的就跳过
 *   break : break your leg  打断你的狗腿
 *            打断 ，引申 不仅中止本次循环，而且中止后面的循环。
 *   return: 具备break的一切能力 ， 而且还有立刻退出方法的意思。         
 */


//begin的用法
public class day {
	@Test
	public void xuexi1(){
		int begin = 1;
		int end = 100;
		int sum = 0;
		for ( ; begin <=end; begin++) {
			if (begin%11==0) {
				continue; //表示当begin为11的倍数时接下来要运行的计算程序就被中止跳过。直接进入下一次循环。
			}
			sum=sum+begin;
		}
		System.out.println(sum);
	}
	//break的用法
	@Test
	public void xuexi2(){
		int begin = 1;
		int end = 100;
		int sum = 0;
		for ( ; begin <=end; begin++) {
			if (begin%11==0) {
				break;//表示当begin第一次为11的倍数时，程序直接中止。计算前面的循环
			}
			sum=sum+begin;
		}
		System.out.println(sum);
	}
	@Test
	public void xuexi3(){
	//用String来添加组长 	
		String leader01 = "关深";
		String leader02 = "太阳";
		String leader03 = "小强";
		String leader04 = "小松";
	// 1.添加数组   数组符号是：[]  如果要往数组里面放值， 需要用{}抱起来
		String[] leaders = {"关深","太阳","小强","小松" };
	// 2.求组长数量
		int geshu= leaders.length;
		System.out.println(geshu);
	// 3.如何能准确得到想要的数  比如 直接得到 “关深”
		/**例子：    序号        关深 ， 太阳 ， 小强 ， 小松
		 *      中国人：  1    2    3   4 
		 *      外国人：   0    1    2   3 
		 *      中国人的序列是从1开始的     外国人则是从0开始的   
		 *      通过表的不同      可以通过leaders[下标],得到数组中某个组长
		 */      
		String cgn = leaders[2];
		System.out.println(cgn); //得到的组长是小强  而不是太阳。
	}
	/**
	 * 实现数组的增删改变
	 */
	@Test
	public void xuexi04(){
		String  leader01 = "关琛";
		String  leader02 = "郑智强";
		String  leader03 = "曹耿珲";
		String  leader04 = "所志松";
		//共同点  String  组长     偷懒  程序员以"懒惰"为美德    
		//  组长们  ?  数组 ： 里面放的是多个相同类型的成员  变量
		//1: 数组怎么申明  :  [] 表示了是数组  如果王里面放值   要用{}包起来    集合
		// 快速注释的快捷 CTRL+SHIFT+/  取消注释： 快速注释的快捷 CTRL+SHIFT+\
		String[] leaders ={"关琛","郑智强","曹耿珲","所志松","曾瑶"};
		int[] ages= {22,27,23,31,27};
		double[] wages={8000.21,8000.23,8000,8000,8000};
		byte[] as={100,123};
		//2: 有几个组长?  重点：　.size() 白纸
		int length =  leaders.length;
		System.out.println(length);
		/*
		 *  3: 怎么得到某个具体的组长  比如  关琛
		 *  重点：  知道中国人与老外对下标的不同     不同点： ###### 数组的下标从0开始  ######
		 *  序号        "关琛","郑智强","曹耿珲","所志松"
		 *  中国人     1      2      3      4
		 *  外国人     0      1      2      3
		 *  
		 *  语法：取数组中的某个组长　　　leaders[下标]　
		 */
		
		String cgh = leaders[2];
		System.out.println(cgh);
		//要求你拿最后1个组长 ....   注意的是  
		//面试题：　请书写10个常见的异常：   ArrayIndexOutOfBoundsException  数组下标越界异常
		String lastLeader  = leaders[length-1];
		System.out.println(lastLeader);
		//5 如何取得数组中的全部的组长
		System.out.println("======================================================");
		for(int index =0;index<leaders.length;index++){
			String leader = leaders[index];
			System.out.println(leader);
		}
		//6 高级的for循环 熟练掌握的语法  建议多用
		/*
		 *  	for(类型 变量的名称 : 要遍历的对象){
		 *  	}
		 * 
		 */
		System.out.println("####======================================================####");
		for(String leader : leaders){
			System.out.println(leader);
		}
		//int[] aa = new int[10];
	}

	@Test
	public void xuexi5(){
		String[] leaders = {"关深","太阳","小强","小松","小姚"/*,"张无忌"*/};
		//需求 ：新增  在数组的末尾，增加一个张无忌
		
		int length=leaders.length;
		int newlength = length+1;
		String[] newleader = new String[newlength];
		
		
		for (int index = 0; index < length; index++) {
			String leader = leaders[index];
			newleader[index]=leader;
		}
		Scanner sc =new Scanner(System.in);
		System.out.println("请输入新增加的名字");
		String n1 =sc.next();
		newleader[newleader.length-1]=n1;
		System.out.println("新的组长如下###################################");
		for(String ss : newleader){
			System.out.print(ss + " ");
		}
		
	}
	@Test
	public void xuexi6(){
		int[] old ={22,27,23,31,27};
		int length=old.length;
		int[] newA=new int[old.length+1];
		for(int i=0;i<length;i++){
			newA[i]=old[i];
			if(i==(length-1)){
				newA[length]=33;
			}
		}for (int i : newA) {
			System.out.println(i);
		}
   }
	
	
	
	
	
	
	
	
	
	
	
}
